package com.test.springboot_test.test03_saToken.LoginCertification;

import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 登录测试---登录认证
 */
@RestController
@RequestMapping("/acc/")
public class LoginController {
    /**
     * 此处一共是做了这么4件事，
     * 登陆验证--是否登录--获取token--登出
     */
    //测试登录 ---http://localhost:8080/acc/doLogin?name=zhang&password=123456
    @RequestMapping("doLogin")
    public SaResult doLogin(String name, String password) {
        //System.out.println("进入接口登录接口");
        //此处仅作模拟示例，真是项目需要从数据库拿数据进行比对
        if("zhang".equals(name) && "123456".equals(password) ) {
            StpUtil.login(10001);
            return SaResult.ok("登录成功！！！");
        }
        return SaResult.error("登陆失败！！！");
    }
    //查询登陆状态---http://localhost:8080/acc/isLogin
    @RequestMapping("isLogin")
    public SaResult isLogin() {
        return SaResult.ok("是否登录："+StpUtil.isLogin());
    }
    //查询token消息---http://localhost:8080/acc/tokenInfo
    @RequestMapping("tokenInfo")
    public SaResult tokenInfo() {
        return SaResult.data(StpUtil.getTokenInfo());
    }
    //测试注销---http://localhost:8080/acc/logout
    @RequestMapping("logout")
    public SaResult logout() {
        StpUtil.logout();
        return SaResult.ok("退出登录");
    }

}
